In data packet communications over time-varying wireless communication channels, rate adaptation may be used to optimize data transmission. Rate adaptation is a technique that involves dynamically selecting a data rate for each packet of data to be transmitted based on a latest estimate of channel condition. The objective of rate adaptation is to select a data rate that would maximize data throughput without compromising data transmission quality.
In one rate adaptation proposal, selecting a data rate involves selecting a modulation and/or channel coding scheme, also referred to herein as “MCS level”, and one or more of spreading codes, such as orthogonal spreading codes, to use in the transmission of the data packet at the selected MCS level. That is, the data rate, denoted as R(n,k), is a function of MCS level n and the number of spreading codes k used in a current transmission of a data packet at MCS level n. FIG. 5 depicts a chart 50 illustrating the relationship between data rate, MCS levels and spreading codes. Each MCS level n has associated a channel condition threshold θ(n) and one or more spreading codes, wherein the total number of spreading codes associated with a particular MCS level n is referred to herein as cn and k≦cn. Low MCS levels are associated with lower order modulation and/or stronger channel coding schemes, whereas high MCS levels are associated with higher order modulation and/or weaker channel coding schemes. As the MCS level n and the number of spreading codes k increase, the data rate R(n,k) increases.
The number of spreading codes k to be used in the current data packet transmission at the selected MCS level n is determined from a power offset given by a ratio of a channel quality metric to a channel condition threshold θ(n) associated with the selected MCS level n, as is known in the art. For example, k=└10power offset/10┘, where the power offset can be signaled from the receiver to the transmitter. The MCS level n is selected based on estimates of channel conditions between a receiver and a transmitter. Channel conditions between a transmitter and a receiver are estimated at the receiver using any channel quality metric, such as carrier to interference (C/I) ratio, signal to interference plus noise ratio (SINR) or Shannon capacity. The estimate of channel condition is subsequently relayed, via a feed back channel, to the transmitter. The transmitter uses the estimate of channel condition to select an MCS level at which the transmitter is to transmit data packets to the receiver. In order to maximize data throughput, the MCS level n selected should be the MCS level n associated with the highest channel condition threshold θ(n) which the estimate of channel condition satisfies. A channel condition threshold is satisfied when the estimate of channel condition is greater or equal to the channel condition threshold. In good channel conditions, data transmission quality is less likely to be affected, thus a higher MCS level may be selected to achieve a higher data rate. By contrast, in poor channel conditions, data transmission quality is more likely to be affected and a lower MCS level should be selected to provide greater protection for the data packet being transmitted. The number of spreading codes and the selected MCS level is communicated to the receiver by the transmitter. Based on the number of spreading codes and the selected MCS level, the receiver would know which spreading codes and MCS level to use in decoding an associated transmitted data packet from the transmitter.
The choice of channel condition thresholds θ(n) can significantly affect link performance criteria, such as average throughput, packet and bit error rates and average number of retransmissions with ARQ, HARQ or similar error correction schemes. Optimal choice of channel condition thresholds θ(n) are based on a complicated function of several factors such as metric estimation accuracy, Doppler frequency of the channel, feedback delay, fading statistics and SINR at the receiver, channel profile, choice of MCS levels, and transmitter and receiver design. Most of these factors are, however, time varying which would, in turn, cause the optimal channel condition thresholds to be time varying. Thus, it would be desirable for channel condition thresholds θ(n) that are adaptive as the factors vary over time. One way of implementing adaptive channel condition thresholds θ(n) involves measuring the above mentioned factors in real-time and calculating optimized channel condition thresholds θ(n) based on those factors. However, due to the large number of factors affecting the optimal channel condition thresholds θ(n), it would be impractical to implement channel condition thresholds θ(n) in this manner. Accordingly, there exists a need for adaptively selecting channel condition thresholds for rate adaptation using MCS levels and one or more spreading codes in real-time without measuring all the factors that affect optimal channel condition thresholds.